﻿using System;

using Fuse8.DomainFramework.Domain;

using Fuse8.ContentManagementFramework.Domain.Bases;

namespace Fuse8.ContentManagementFramework.Domain.Commands.CommandParameters
{
    public class CmsUpdatePageControlCommandParameter : IEntityCommandParameter, ILocalizedEntityObject, ISiteAwareEntityObject, ITrackingEntityObject
    {
        public int? PageControlContentId { get; set; }

        public int? ModuleId { get; set; }

        public string PageControlContent { get; set; }

        public string PageControlViewValue { get; set; }

        public string PageControlModelValue { get; set; }

        public int PageControlOrder { get; set; }

        public string AdminCaption { get; set; }

        #region ISiteAwareEntityObject Members

        public int Id { get; set; }

        public int? SiteGroupId { get; set; }

        public int? SiteId { get; set; }

        public SiteAwareCategory SiteCategory
        {
            get
            {
                return this.GetCategory();
            }
        }

        #endregion

        #region ITrackingEntityObject Members

        public bool IsNew
        {
            get
            {
                return Id == 0;
            }
        }

        public int CreatedBy { get; set; }

        public DateTime DateCreated { get; set; }

        public int? LastUpdatedBy { get; set; }

        public DateTime? DateLastUpdated { get; set; }

        #endregion

        #region ILocalizedEntityObject Members

        public int? SystemLanguageId { get; set; }        

        #endregion


    }
}
